Student Understanding of Aliasing and Procedure Calls
نویسندگان
چکیده
Abstract Procedure (or method) calls are a basic computation mechanism found in virtually every language. A procedure call may or may not create aliases for parameters. Understanding aliasing is critical for comprehending how programs will behave, with impact on other concepts such as parallelism. In this paper we study the awareness and descriptions of aliasing behavior in two college-level audiences. e paper measures their understanding of aliasing, analyzes their wrien explanations of procedure calls, and identies problems with their knowledge. In particular, we show that even upper-level students suer from diculties that instructors might have assumed have long since been addressed.
منابع مشابه
Acl | Eliminating Parameter Aliasing with Dynamic Dispatch Acl | Eliminating Parameter Aliasing with Dynamic Dispatch
We have implemented a new method for eliminating reference parameter aliases. This method allows procedure calls with overlapping call-by-reference parameters, but at the same time guarantees that procedure bodies are alias-free. The method involves writing multiple bodies for a procedure: one per aliasing combination. Calls are automatically dispatched to the appropriate procedure body based o...
متن کاملACL---Eliminating Parameter Aliasing with Dynamic Dispatch
We have implemented a new method for eliminating reference parameter aliases. This method allows procedure calls with overlapping call-by-reference parameters, but at the same time guarantees that procedure bodies are alias-free. The method involves writing multiple bodies for a procedure: one per aliasing combination. Calls are automatically dispatched to the appropriate procedure body based o...
متن کاملClean Semantics for Calls with Repeated Arguments
When arguments are repeated in a procedure call, aliasing arises and plays havoc with specification and reasoning. To prevent this aliasing, which renders the semantics of a language unclean even when all other sources of aliasing are avoided, we propose a simple new scheme for parameter passing that uses initial values for passing second and subsequent repeated arguments and localizes the effe...
متن کاملData Flow Analysis in the Presence of Procedure Calls
The aliasing that results in a variable being known by more than one name has greatly complicated efforts to derive data flow information. The approach we take involves the use of a series of claims that, after we compute the data flow for some of the aliasing possibilities, allows us to produce good approximations for the remaining cases. The method can thus limit the potential combinatorial e...
متن کاملInterprocedural Shape Analysis with Separated Heap Abstractions
We describe an interprocedural shape analysis that makes use of spatial locality (i.e. the fact that most procedures modify only a small subset of the heap) in its representation of abstract states. Instead of tracking reachability information directly and aliasing information indirectly, our representation tracks reachability indirectly and aliasing directly. Computing the effect of procedure ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017